import Store from "../store";
import { computeRowlenByContent, computeColWidthByContent } from "./getRowlen";
import luckysheetConfigsetting from "../controllers/luckysheetConfigsetting";

export default function rhchInit(rowheight, colwidth) {
	// zoomSetting();//Zoom sheet on first load
	//行高
	if (rowheight != null) {
		Store.visibledatarow = [];
		Store.rh_height = 0;

		for (let r = 0; r < rowheight; r++) {
			let rowlen = Store.defaultrowlen;

			if (Store.config["rowlen"] != null && Store.config["rowlen"][r] != null) {
				rowlen = Store.config["rowlen"][r];
			}

			if (
				Store.config["rowhidden"] != null &&
				Store.config["rowhidden"][r] != null
			) {
				Store.visibledatarow.push(Store.rh_height);
				continue;
			}

			// 自动行高计算
			if (rowlen === "auto") {
				rowlen = computeRowlenByContent(Store.flowdata, r);
			}
			Store.rh_height += Math.round((rowlen + 1) * Store.zoomRatio);

			Store.visibledatarow.push(Store.rh_height); //行的临时长度分布
		}

		// 如果增加行和回到顶部按钮隐藏，则减少底部空白区域，但是预留足够空间给单元格下拉按钮
		if (
			!luckysheetConfigsetting.enableAddRow &&
			!luckysheetConfigsetting.enableAddBackTop
		) {
			Store.rh_height += 29;
		} else {
			Store.rh_height += 80; //最底部增加空白
		}
	}

	//列宽
	if (colwidth != null) {
		Store.visibledatacolumn = [];
		Store.ch_width = 0;

		let maxColumnlen = 120;

		for (let c = 0; c < colwidth; c++) {
			let firstcolumnlen = Store.defaultcollen;

			if (
				Store.config["columnlen"] != null &&
				Store.config["columnlen"][c] != null
			) {
				firstcolumnlen = Store.config["columnlen"][c];
			} else {
				if (Store.flowdata[0] != null && Store.flowdata[0][c] != null) {
					if (firstcolumnlen > 300) {
						firstcolumnlen = 300;
					} else if (firstcolumnlen < Store.defaultcollen) {
						firstcolumnlen = Store.defaultcollen;
					}

					if (firstcolumnlen != Store.defaultcollen) {
						if (Store.config["columnlen"] == null) {
							Store.config["columnlen"] = {};
						}

						Store.config["columnlen"][c] = firstcolumnlen;
					}
				}
			}

			if (
				Store.config["colhidden"] != null &&
				Store.config["colhidden"][c] != null
			) {
				Store.visibledatacolumn.push(Store.ch_width);
				continue;
			}

			// 自动行高计算
			if (firstcolumnlen === "auto") {
				firstcolumnlen = computeColWidthByContent(Store.flowdata, c, rowheight);
			}
			Store.ch_width += Math.round((firstcolumnlen + 1) * Store.zoomRatio);

			Store.visibledatacolumn.push(Store.ch_width); //列的临时长度分布

			// if(maxColumnlen < firstcolumnlen + 1){
			//     maxColumnlen = firstcolumnlen + 1;
			// }
		}

		// Store.ch_width += 120;
		Store.ch_width += maxColumnlen;
	}
}

export function zoomSetting() {
	//zoom
	Store.rowHeaderWidth =
		luckysheetConfigsetting.rowHeaderWidth * Store.zoomRatio;
	Store.columnHeaderHeight =
		luckysheetConfigsetting.columnHeaderHeight * Store.zoomRatio;
	$("#luckysheet-rows-h").width(Store.rowHeaderWidth - 1.5);
	$("#luckysheet-cols-h-c").height(Store.columnHeaderHeight - 1.5);
	$("#luckysheet-left-top").css({
		width: Store.rowHeaderWidth - 1.5,
		height: Store.columnHeaderHeight - 1.5,
	});
}
